This report summarizes the methodologies used to measure progress on SDG indicators 11.2.1 (access to public transportation) and 11.7.1 (proportion of public open space in cities) using (1) data from OpenStreetMap and (2) data from municipal Open Data websites and transit agency GTFS feeds.
The descriptions of the indicators and monitoring frameworks come from this UN document.
Both of these indicators are part of Sustainable Development Goal 11: Make cities and human settlements inclusive, safe, resilient and sustainable.
This analysis was conducted as part of the OpenStreetMap US project for the 2020 Azavea Summer of Maps Fellowship.
Further details, including maps and measurements for additional cities, can be found on the project GitHub repository.
In this report, the UN proposes the following definition for the indicator: Percentage of people within 0.25 miles of public transit running at least every 20 minutes.
Public transit includes stops, platforms, and/or terminals for any buses, trams / trolleys / streetcars, light rail, metros / subways, and ferries mapped in OpenStreetMap for the cities. Access includes having at least one such stop, platform, or terminal within 0.25mi (defined in two different ways, described below).
Note that the UN indicator stipulates that the transit run at least every 20 minutes, but headway information (stored in the interval=* tag) is not currently well populated on OSM - only about 8,000 total uses globally compared to over 190,000 bus routes mapped. The maximum headway requirement has been omitted from this analysis, but it can be easily included at a later time to consider only transit lines that run with sufficient frequency, once use of the interval=* tag has become more widespread.
Methodology:
Download census block groups in Baltimore with population data
Split into 1/10th square mile hexagonal grid cells
Interpolate population for each cell by area. If a cell is fully contained within a block group, then that cell receives a proportion of the block group’s population that is equal to the proportion of the block group’s area that the cell occupies (i.e., 1/10th square mile divided by block group’s area). Where grid cells overlap multiple block groups, populations from the several block groups are allocated proportionally.
Download transit point data from OSM via the Overpass API. Wrappers for the API exist in many programming languages, but I used the osmdata package in R for my analysis.
highway=bus_stop and public_transport=platform & bus=yes)railway=tram_stop)railway=station)amenity=ferry_terminal)Find the percentage of population within 0.25mi of a transit stop. Calculate this percentage twice: once for the population of the entire city, and once for the population living only in those areas that are home to at laest 3,000 people per square mile, a commonly used threshold for the minimum density required to support a low frequency bus route.
Repeat these calculations using the locations of transit stops downloaded from the GTFS feeds for the transit agencies that operate in Baltimore.
An example of the calculation shown in Baltimore. The buffers are in orange, original grids in blue, grid centroids in green, and transit stops in red. Each of these areas are considered areas with access to public transit, since at least one transit stop falls within their respective buffers.